package com.sunshine.wrongquestionset.room.entity

import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.Index
import androidx.room.PrimaryKey
import java.util.*

/**
 * @author sunshine
 * @date 2021/3/26
 * @see UserEntity 外键，也是本主键
 * 配置类，为了保证一用户一配置，使用了数据库而不是sp
 */
@Entity(
    tableName = "app_config",
    foreignKeys = [
        ForeignKey(
            entity = UserEntity::class,
            parentColumns = ["id"],
            childColumns = ["id"],
            onDelete = ForeignKey.CASCADE,
            onUpdate = ForeignKey.CASCADE
        )
//        ForeignKey(
//            entity = QuestionSetEntity::class,
//            parentColumns = ["id"],
//            childColumns = ["nowQuestionSetId"],
//            onUpdate = ForeignKey.CASCADE,
//            onDelete = ForeignKey.SET_DEFAULT
//        )
    ]
//    indices = [
//        Index("nowQuestionSetId")
//    ]
)
class AppConfigEntity(
    @PrimaryKey
    val id: String,
    //是否为当前登录账号
    var isLogin: Boolean,
    //现在，已经没有默认错题集的说法
//    //当前用户当前所使用的错题集，即默认错题集
//    var nowQuestionSetId: Int = 0,
    //软件上次启动的时间，用来判断遗忘曲线是否需要更新
    var lastStartTime: Long = Date().time,
    //每次最大练习次数
    var maxExerciseCount: Int = 5
)